Merging data from database tables (or other data structures) in a database system is well known. Merging data operations can be performed on two or more database structures to merge their respective data together. But data merging suffers from a number of deficiencies. When data is merged from columns or rows of two or more data structures, one of the columns or rows must function as the foreign key for the merge operation. As a result, unique values are required to perform a data merge. That is, when a particular column or row is used as the linking element in a data merge operation, its values cannot be repeated.
In addition, the entire data set of database tables (or other data structures) involved in a data merge operation has to be queried from the database, processed, and then the entire resulting data set must be written back to the database. The resulting data set can be very large and unwieldy. For example, if there are 1000 columns in a particular database table to be merged, the resulting data set will be very large. Data processing on the resulting data set in a data merge operation therefore incurs significant expense in terms of memory space, network bandwidth, and data processing resources.
Data blending, on the other hand, provides capabilities that are unavailable in data merging. Data blending is a process used to extract data from multiple data sources to potentially discover correlations between different data sets. Data blending begins with gathering data from various different sources. Once these sources are located and loaded, the data is combined into a functioning data set while excluding any unnecessary data. In data blending, any user-defined subset of two or more columns from two or more data sets can be blended together at any specified granularity without requiring unique values for the blended columns or rows and without requiring processing the entire database table for each of the data sets.